草庐IT

java - 装饰器模式和@Inject

全部标签

javascript - 使用 index.ts 文件导出类导致注入(inject)的构造函数中未定义

我使用index.ts文件来封装导出,如Angular2样式指南(https://github.com/mgechev/angular2-style-guide/blob/master/old/README.md#directory-structure)中所述。这在我编写的应用程序中运行良好,但出于某种原因,在我尝试注入(inject)另一项服务的一项服务中,这会导致奇怪的错误。导出类:import{Injectable}from"angular2/core";@Injectable()exportclassUserIds{private_signature_id:string;pri

javascript - 多个目录上的全局同步模式

我正在尝试实现一个glob同步模式,使我能够满足以下条件,但不幸的是,我很难弄清楚为什么该模式不起作用。全局模式glob.sync("./src/handlebar/{a,b,c,d}/**/*.hbs")文件路径模式src/handlebar/b/a/header.hbssrc/handlebar/b/header.hbssrc/handlebar/a/head.hbs[MATCH]src/handlebar/a/foot.hbs[MATCH]src/handlebar/c/a/something.hbssrc/handlebar/d/a/button.hbs我做错了什么?

javascript - JS Revealing prototype 模式中如何实现继承?

如何继承/扩展使用揭示原型(prototype)模式的类​​?有没有办法使private变量和函数protected?示例基础对象:myNameSpace.Person=function(){this.name="";this.id=0;};myNameSpace.Person.prototype=function(){varfoo=function(){//sampleprivatefunction};varloadFromJSON=function(p_jsonObject){...};vartoJSON=function(){...};varclone=function(p_ot

javascript - 关注点、装饰者、演示者、服务对象、帮助者 - 帮助我理解它们

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。ImprovethisquestionRails中有一些东西:##Concerns##Decorators##Presenters##ServiceObjects##Helpers任何人都可以给我在什么类型的情况下应该遵循什么的真实问题示例,以便我可以更好地理解这些功能。例子会更好地理解这个概念在此先感谢并感谢您的关注

javascript - Angular-ui:是否打开了任何模式?

如果有任何模式打开,我想启动一个代码。通常我想要这样的东西:$scope.$watch(function(){return$modal.isOpenState;},function(val){//mycodehere},true);但我不知道该看什么。是的,我可以检测每个实例的打开事件,例如:modalInstance.opened.then(function(){//mycodehere});但这不是DRY。附言我也可以在$watch函数中制作类似$('.modal').hasClass('in')的东西,但这有点难看P.P.S顺便说一句,我正在使用ui-router打开模式(请参阅

javascript - Gulp-inject 转换不起作用

我尝试设置gulp-inject以将依赖项注入(inject)index.html。除了转换功能外,一切正常。我需要按以下方式替换部分文件路径:/frontend/src/-->/static/我试过这样做(从某处复制粘贴):transform:function(filePath,file,i,length){varnewPath=filePath.replace('/frontend/src','');console.log('injectscript='+newPath);return'';}执行后,控制台中没有任何内容(标准gulp输出除外),结果文件中出现未转换的文件路径。看起

javascript - JSON 模式中的自定义属性

使用自定义属性扩展JSON架构是否有效?我问的原因是,因为我正在使用模式来呈现模式描述的JSON表单(模式中描述的每个属性都用作带有标签和某种输入的表单元素)。如果能够使用我主要用于表单呈现的一些属性来扩展架构,那将很有用,但在使用架构验证JSON对象本身时会忽略这些属性。我可以对JSON对象有两种不同的表示形式(一种是模式,另一种是具有自定义属性的模式对象,我只是为了创建表单,但如果我可以将两者结合在一起,维护起来会更容易).不幸的是,Google并不是很有帮助,而且我没有大量使用JSON模式的经验,所以如果我遗漏了一些明显的东西,我深表歉意。编辑1:示例架构片段:{"title":

javascript - 这种模式在 Javascript 中叫什么?它有名字吗?

组件.jsvarcomponent=(function(){varself;vardefault_options={array_option:[],string_option:"default"};return{other_function:function(args){},init:function(options){self=this;//mergeinuseroptionsfor(varattrinoptions){if(options.hasOwnProperty(attr)){self.o[attr]=options[attr];}}/****Initializecompon

javascript - 如何在 browserify 中要求代码镜像的模式、主题或插件

有没有人尝试通过browserify使用代码镜像?我发现没有任何东西是可见的,即使它已经生成了所有的html标签。代码:varCodeMirror=require('codemirror');require('codemirror/mode/javascript/javascript.js');vareditor=CodeMirror.fromTextArea(document.getElementById("code"),{lineNumbers:true,extraKeys:{"Ctrl-Space":"autocomplete"},mode:{name:"javascript",

javascript - 为 CodeMirror 创建新模式

我只想突出显示如下所示的关键字:{KEYWORD}(基本上是用单个{}括号括起来的大写单词)我通过复制MustacheOverlaydemo中的代码来尝试这个,并用单括号替换双括号:CodeMirror.defineMode('mymode',function(config,parserConfig){varmymodeOverlay={token:function(stream,state){if(stream.match("{")){while((ch=stream.next())!=null)if(ch=="}"&&stream.next()=="}")break;return'